category: main
step: 6_attribution
sub_step:
doc_status: ready
language: rus
main_number: "09"
macro attr
Name | Category | In Main Macro | Doc Status |
---|---|---|---|
attr_prepare_with_qid | sub_main | attr | ready |
attr_create_events | sub_main | attr | ready |
attr_add_row_number | sub_main | attr | ready |
attr_find_new_period | sub_main | attr | ready |
attr_calculate_period_number | sub_main | attr | ready |
attr_create_missed_steps | sub_main | attr | ready |
attr_join_to_attr_prepare_with_qid | sub_main | attr | ready |
attr_model | sub_main | attr | ready |
attr_final_table | sub_main | attr | ready |
Макрос attr
предназначен для подготовки и анализа данных для атрибуции. Он реализуется в несколько шагов:
Имя dbt-модели (=имя файла в формате sql в папке models) должно соответствовать шаблону:
attr_{название_модели атрибуции}_{название_шага}
.
Например, attr_myfirstfunnel_prepare_with_qid
.
Внутри этого файла вызывается макрос:
{{ datacraft.attr() }}
Над вызовом макроса в файле будет указана зависимость данных через —depends_on
. То есть целиком содержимое файла выглядит, например, вот так:
-- depends_on: {{ ref('full_events') }}
-- depends_on: {{ ref('graph_qid') }}
{{ datacraft.attr() }}
Этот макрос принимает следующие аргументы:
params
(по умолчанию: none)override_target_model_name
(по умолчанию: none)limit0
(по умолчанию: none)Технически сам макрос attr
- регулировщик. Он направляет работу под-макросов типа attr_
по шагам.
Под-макросами являются:
Технически действие самого макроса attr
(регулировщика) реализуется так:
сначала макрос считает имя модели - либо из передаваемого аргумента (
override_target_model_name
), либо из имени файла (this.name
). При использовании аргумента override_target_model_name
макрос работает так, как если бы находился в модели с именем, равным значению override_target_model_name
.
Из имени модели макрос берёт название воронки - funnel_name
.
Затем макрос вызывает нужный шаг макроса attr
в зависимости от считанного имени модели. Название воронки макрос передаёт дальше - в свой под-макрос - как аргумент.
Файл в формате sql в папке models. Название файла attr_myfirstfunnel_prepare_with_qid
Содержимое файла:
-- depends_on: {{ ref('full_events') }}
-- depends_on: {{ ref('graph_qid') }}
{{ datacraft.attr() }}
Это девятый из основных макросов.